package com.situ.day25;

import java.lang.String;

public class ThreadDemo {

    public static void main1(String[] args) {
        // new线程这个对象，并不是启动线程，只是new了一个线程的对象
        MyThread myThread = new MyThread();
        // 这是调用对象的run方法执行，不是启动线程
        // myThread.run();
        myThread.start();
    }

    public static void main2(String[] args) {
        MyRunnable myRunnable = new MyRunnable();
        Thread thread = new Thread(myRunnable);
        thread.start();
    }

    public static void main(String[] args) {
        MyRunnable myRunnable = new MyRunnable();
        Thread thread = new Thread(myRunnable);
        thread.start();

        // 堵塞当前主线程，直到thread执行完毕并死掉，再执行主线程。
        try {
            thread.join();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("ThreadDemo.main");
        // 一个线程只能属于一个进程，而一个进程可以有多个线程，但至少有一个线程（通常说的主线程）。
        // 返回当前正在执行的线程的名字
        /*String name = Thread.currentThread().getName();
        System.out.println(name); // main
        for (int i = 0; i < 10000; i++) {
            System.out.println(name + " : " +i);
        }*/
    }
}
